#ifndef PATIENTMODEL_H
#define PATIENTMODEL_H

#include <QAbstractListModel>
#include <QString>
#include <QVector>

class PatientData{
public:
    QString first_name,lastname,name;//姓,名字
    QString create_time,age;//患者创建时间，年龄
    int gender ;//性别
    QString birthday;//生日
    QString phone;//电话
    QString email;//邮箱
    QString address;//地址
    QString annotation;//备注

};

namespace UserManagementSystem {
class PatientModel:public QAbstractListModel
{
    Q_OBJECT
public:
    PatientModel(QObject* parent=nullptr);


    ///@brief 一个data接口返回index指向的数据
    virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;


    ///@brief 返回model的总行数，告知viewList要显示多少行的数据
    virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override;

private:

    ///@brief 从数据库加载数据
    void LoadDataFromDatabase(const QString& db_path);

private:
    QVector<PatientData> m_data;
};
}


#endif // PATIENTMODEL_H
